// 接口是/back/refresh_token
import axios from "axios"
const token = {
    // 表示需不需要新的token
    checkToken () {
        // 存在没过期的token,那么false
        // console.log(Date.now())
        // 误差设置为15分钟
        return !(localStorage.getItem('pta_exp') && localStorage.getItem('pta_exp') > (Date.now() + 1000 * 60 * 15)) 
    },
    refreshToken (callback) {
        axios.get('/back/refresh_token', {
            headers: {
                'token': localStorage.getItem('token')
            }   
        }).then((res) => {
            // console.log(res.data)
            localStorage.setItem('token', res.data.data.token)
            localStorage.setItem('pta_exp', res.data.data.exp)
            if (callback) {
                callback ()
            }
        }).catch((err) => {
            console.warn(err)
        })
    },
    request () {
        // 需要刷新token
        return new Promise((resolve, reject) => {
            if (this.checkToken()) {
                resolve(true) // token还能用
            } else {
                resolve(false) // token要刷新
            }
        })
    }
    
}

export default token